[INFO] cloning repository https://github.com/epa127/ssh-epark73-akdeng
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/epa127/ssh-epark73-akdeng" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fepa127%2Fssh-epark73-akdeng", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fepa127%2Fssh-epark73-akdeng'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 4f10a4ad2638773c0cbc8dadce7aafc45d9f554f
[INFO] checking epa127/ssh-epark73-akdeng against try#e622d8d7bed4f2668d446e06c6c1436ecae15796 for pr-156776
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fepa127%2Fssh-epark73-akdeng" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/epa127/ssh-epark73-akdeng
[INFO] finished tweaking git repo https://github.com/epa127/ssh-epark73-akdeng
[INFO] tweaked toml for git repo https://github.com/epa127/ssh-epark73-akdeng written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/epa127/ssh-epark73-akdeng on toolchain e622d8d7bed4f2668d446e06c6c1436ecae15796
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+e622d8d7bed4f2668d446e06c6c1436ecae15796" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/epa127/ssh-epark73-akdeng already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+e622d8d7bed4f2668d446e06c6c1436ecae15796" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded ed25519 v3.0.0
[INFO] [stderr]   Downloaded signature v3.0.0
[INFO] [stderr]   Downloaded pkcs8 v0.11.0
[INFO] [stderr]   Downloaded hex-literal v1.1.0
[INFO] [stderr]   Downloaded spki v0.8.0
[INFO] [stderr]   Downloaded ctr v0.10.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+e622d8d7bed4f2668d446e06c6c1436ecae15796" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 5547a4d76655792833be93c828d96c0582d6f545d2800affb8e865fe13329ccb
[INFO] running `Command { std: "docker" "start" "-a" "5547a4d76655792833be93c828d96c0582d6f545d2800affb8e865fe13329ccb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5547a4d76655792833be93c828d96c0582d6f545d2800affb8e865fe13329ccb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5547a4d76655792833be93c828d96c0582d6f545d2800affb8e865fe13329ccb", kill_on_drop: false }`
[INFO] [stdout] 5547a4d76655792833be93c828d96c0582d6f545d2800affb8e865fe13329ccb
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+e622d8d7bed4f2668d446e06c6c1436ecae15796" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f728a33cdb2b05a0c84d5fc5710b9f369a1b30bdf5239fb4badbf00946d65cd0
[INFO] running `Command { std: "docker" "start" "-a" "f728a33cdb2b05a0c84d5fc5710b9f369a1b30bdf5239fb4badbf00946d65cd0", kill_on_drop: false }`
[INFO] [stderr]     Checking typenum v1.20.0
[INFO] [stderr]    Compiling libc v0.2.185
[INFO] [stderr]    Compiling semver v1.0.28
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]     Checking zeroize v1.8.2
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking cpufeatures v0.3.0
[INFO] [stderr]     Checking signature v3.0.0
[INFO] [stderr]     Checking cpubits v0.1.1
[INFO] [stderr]     Checking hex-literal v1.1.0
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]     Checking ed25519 v3.0.0
[INFO] [stderr]     Checking rand v0.8.6
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]     Checking generic-array v0.14.7
[INFO] [stderr]     Checking hybrid-array v0.4.11
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking crypto-common v0.2.1
[INFO] [stderr]     Checking block-buffer v0.12.0
[INFO] [stderr]     Checking inout v0.2.2
[INFO] [stderr]     Checking cipher v0.5.1
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]     Checking aes v0.9.0
[INFO] [stderr]     Checking ctr v0.10.0
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking ed25519-dalek v2.2.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rand v0.9.4
[INFO] [stderr]     Checking ssh-epark73-akdeng v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `hash::Hash`
[INFO] [stdout]  --> src/messages.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{hash::Hash, str::FromStr};
[INFO] [stdout]   |           ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num_bigint::BigUint`
[INFO] [stdout]  --> src/messages.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use num_bigint::BigUint;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ThreadRng` and `rng`
[INFO] [stdout]  --> src/messages.rs:7:24
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rand::{TryRngCore, rng, rngs::{OsRng, ThreadRng}};
[INFO] [stdout]   |                        ^^^                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hash::Hash`
[INFO] [stdout]  --> src/messages.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{hash::Hash, str::FromStr};
[INFO] [stdout]   |           ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num_bigint::BigUint`
[INFO] [stdout]  --> src/messages.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use num_bigint::BigUint;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ThreadRng` and `rng`
[INFO] [stdout]  --> src/messages.rs:7:24
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rand::{TryRngCore, rng, rngs::{OsRng, ThreadRng}};
[INFO] [stdout]   |                        ^^^                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ClientWaitingForProtoVersion` is more private than the item `Client::WaitingForProtoVersion::0`
[INFO] [stdout]   --> src/pkg/client.rs:16:28
[INFO] [stdout]    |
[INFO] [stdout] 16 |     WaitingForProtoVersion(ClientWaitingForProtoVersion),
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `Client::WaitingForProtoVersion::0` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `ClientWaitingForProtoVersion` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/pkg/client.rs:24:1
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub(crate) struct ClientWaitingForProtoVersion { client_id: String }
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ClientWaitingForServerKexInit` is more private than the item `Client::WaitingForServerKexInit::0`
[INFO] [stdout]   --> src/pkg/client.rs:17:29
[INFO] [stdout]    |
[INFO] [stdout] 17 |     WaitingForServerKexInit(ClientWaitingForServerKexInit),
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `Client::WaitingForServerKexInit::0` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `ClientWaitingForServerKexInit` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/pkg/client.rs:26:1
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub(crate) struct ClientWaitingForServerKexInit {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ClientWaitingForKexReply` is more private than the item `Client::WaitingForKexReply::0`
[INFO] [stdout]   --> src/pkg/client.rs:18:24
[INFO] [stdout]    |
[INFO] [stdout] 18 |     WaitingForKexReply(ClientWaitingForKexReply),
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^ field `Client::WaitingForKexReply::0` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `ClientWaitingForKexReply` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/pkg/client.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub(crate) struct ClientWaitingForKexReply {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ClientWaitingForNewKeys` is more private than the item `Client::WaitingForNewKeys::0`
[INFO] [stdout]   --> src/pkg/client.rs:19:23
[INFO] [stdout]    |
[INFO] [stdout] 19 |     WaitingForNewKeys(ClientWaitingForNewKeys),
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^ field `Client::WaitingForNewKeys::0` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `ClientWaitingForNewKeys` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/pkg/client.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub(crate) struct ClientWaitingForNewKeys {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ClientReady` is more private than the item `Client::Ready::0`
[INFO] [stdout]   --> src/pkg/client.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 |     Ready(ClientReady),
[INFO] [stdout]    |           ^^^^^^^^^^^ field `Client::Ready::0` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `ClientReady` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/pkg/client.rs:61:1
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub(crate) struct ClientReady {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ServerWaitingForProtoVersion` is more private than the item `Server::WaitingForProtoVersion::0`
[INFO] [stdout]   --> src/pkg/server.rs:22:28
[INFO] [stdout]    |
[INFO] [stdout] 22 |     WaitingForProtoVersion(ServerWaitingForProtoVersion),
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `Server::WaitingForProtoVersion::0` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `ServerWaitingForProtoVersion` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/pkg/server.rs:30:1
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub(crate) struct ServerWaitingForProtoVersion {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ServerWaitingForClientKexInit` is more private than the item `Server::WaitingForClientKexInit::0`
[INFO] [stdout]   --> src/pkg/server.rs:23:29
[INFO] [stdout]    |
[INFO] [stdout] 23 |     WaitingForClientKexInit(ServerWaitingForClientKexInit),
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `Server::WaitingForClientKexInit::0` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `ServerWaitingForClientKexInit` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/pkg/server.rs:35:1
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub(crate) struct ServerWaitingForClientKexInit {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ServerWaitingForKexDhInit` is more private than the item `Server::WaitingForKexDhInit::0`
[INFO] [stdout]   --> src/pkg/server.rs:24:25
[INFO] [stdout]    |
[INFO] [stdout] 24 |     WaitingForKexDhInit(ServerWaitingForKexDhInit),
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^ field `Server::WaitingForKexDhInit::0` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `ServerWaitingForKexDhInit` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/pkg/server.rs:46:1
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub(crate) struct ServerWaitingForKexDhInit {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ServerWaitingForNewKeys` is more private than the item `Server::WaitingForNewKeys::0`
[INFO] [stdout]   --> src/pkg/server.rs:25:23
[INFO] [stdout]    |
[INFO] [stdout] 25 |     WaitingForNewKeys(ServerWaitingForNewKeys),
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^ field `Server::WaitingForNewKeys::0` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `ServerWaitingForNewKeys` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/pkg/server.rs:64:1
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub(crate) struct ServerWaitingForNewKeys {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ServerReady` is more private than the item `Server::Ready::0`
[INFO] [stdout]   --> src/pkg/server.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 |     Ready(ServerReady),
[INFO] [stdout]    |           ^^^^^^^^^^^ field `Server::Ready::0` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `ServerReady` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/pkg/server.rs:76:1
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub(crate) struct ServerReady {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `generate_exchange_value` is never used
[INFO] [stdout]   --> src/kex/dh.rs:77:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl<D: Digest> DiffieHellman<D> {
[INFO] [stdout]    | -------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 77 |     fn generate_exchange_value(&self) -> Result<BigUint> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_padding_increment` is never used
[INFO] [stdout]    --> src/crypto.rs:203:8
[INFO] [stdout]     |
[INFO] [stdout] 196 | impl BinaryPacketDecoder {
[INFO] [stdout]     | ------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 203 |     fn get_padding_increment(&self) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `stream` is never read
[INFO] [stdout]  --> src/network_driver.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct NetworkDriver {
[INFO] [stdout]   |            ------------- field in this struct
[INFO] [stdout] 5 |     stream: TcpStream
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `client_kexinit` and `server_kexinit` are never read
[INFO] [stdout]   --> src/pkg/client.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub(crate) struct ClientWaitingForKexReply {
[INFO] [stdout]    |                   ------------------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 44 |     client_kexinit: KexInit,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 45 |     server_kexinit: KexInit,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `session_id` is never read
[INFO] [stdout]   --> src/pkg/client.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub(crate) struct ClientReady {
[INFO] [stdout]    |                   ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 66 |     session_id: Vec<u8>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `client_kexinit` and `server_kexinit` are never read
[INFO] [stdout]   --> src/pkg/server.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub(crate) struct ServerWaitingForKexDhInit {
[INFO] [stdout]    |                   ------------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 56 |     client_kexinit: KexInit,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 57 |     server_kexinit: KexInit,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `encoder` is never read
[INFO] [stdout]   --> src/pkg/server.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub(crate) struct ServerWaitingForNewKeys {
[INFO] [stdout]    |                   ----------------------- field in this struct
[INFO] [stdout] 65 |     encoder: BinaryPacketEncoder,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `session_id` is never read
[INFO] [stdout]   --> src/pkg/server.rs:81:5
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub(crate) struct ServerReady {
[INFO] [stdout]    |                   ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 81 |     session_id: Vec<u8>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ClientWaitingForProtoVersion` is more private than the item `Client::WaitingForProtoVersion::0`
[INFO] [stdout]   --> src/pkg/client.rs:16:28
[INFO] [stdout]    |
[INFO] [stdout] 16 |     WaitingForProtoVersion(ClientWaitingForProtoVersion),
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `Client::WaitingForProtoVersion::0` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `ClientWaitingForProtoVersion` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/pkg/client.rs:24:1
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub(crate) struct ClientWaitingForProtoVersion { client_id: String }
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ClientWaitingForServerKexInit` is more private than the item `Client::WaitingForServerKexInit::0`
[INFO] [stdout]   --> src/pkg/client.rs:17:29
[INFO] [stdout]    |
[INFO] [stdout] 17 |     WaitingForServerKexInit(ClientWaitingForServerKexInit),
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `Client::WaitingForServerKexInit::0` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `ClientWaitingForServerKexInit` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/pkg/client.rs:26:1
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub(crate) struct ClientWaitingForServerKexInit {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ClientWaitingForKexReply` is more private than the item `Client::WaitingForKexReply::0`
[INFO] [stdout]   --> src/pkg/client.rs:18:24
[INFO] [stdout]    |
[INFO] [stdout] 18 |     WaitingForKexReply(ClientWaitingForKexReply),
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^ field `Client::WaitingForKexReply::0` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `ClientWaitingForKexReply` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/pkg/client.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub(crate) struct ClientWaitingForKexReply {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ClientWaitingForNewKeys` is more private than the item `Client::WaitingForNewKeys::0`
[INFO] [stdout]   --> src/pkg/client.rs:19:23
[INFO] [stdout]    |
[INFO] [stdout] 19 |     WaitingForNewKeys(ClientWaitingForNewKeys),
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^ field `Client::WaitingForNewKeys::0` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `ClientWaitingForNewKeys` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/pkg/client.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub(crate) struct ClientWaitingForNewKeys {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ClientReady` is more private than the item `Client::Ready::0`
[INFO] [stdout]   --> src/pkg/client.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 |     Ready(ClientReady),
[INFO] [stdout]    |           ^^^^^^^^^^^ field `Client::Ready::0` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `ClientReady` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/pkg/client.rs:61:1
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub(crate) struct ClientReady {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ServerWaitingForProtoVersion` is more private than the item `Server::WaitingForProtoVersion::0`
[INFO] [stdout]   --> src/pkg/server.rs:22:28
[INFO] [stdout]    |
[INFO] [stdout] 22 |     WaitingForProtoVersion(ServerWaitingForProtoVersion),
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `Server::WaitingForProtoVersion::0` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `ServerWaitingForProtoVersion` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/pkg/server.rs:30:1
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub(crate) struct ServerWaitingForProtoVersion {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ServerWaitingForClientKexInit` is more private than the item `Server::WaitingForClientKexInit::0`
[INFO] [stdout]   --> src/pkg/server.rs:23:29
[INFO] [stdout]    |
[INFO] [stdout] 23 |     WaitingForClientKexInit(ServerWaitingForClientKexInit),
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `Server::WaitingForClientKexInit::0` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `ServerWaitingForClientKexInit` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/pkg/server.rs:35:1
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub(crate) struct ServerWaitingForClientKexInit {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ServerWaitingForKexDhInit` is more private than the item `Server::WaitingForKexDhInit::0`
[INFO] [stdout]   --> src/pkg/server.rs:24:25
[INFO] [stdout]    |
[INFO] [stdout] 24 |     WaitingForKexDhInit(ServerWaitingForKexDhInit),
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^ field `Server::WaitingForKexDhInit::0` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `ServerWaitingForKexDhInit` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/pkg/server.rs:46:1
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub(crate) struct ServerWaitingForKexDhInit {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ServerWaitingForNewKeys` is more private than the item `Server::WaitingForNewKeys::0`
[INFO] [stdout]   --> src/pkg/server.rs:25:23
[INFO] [stdout]    |
[INFO] [stdout] 25 |     WaitingForNewKeys(ServerWaitingForNewKeys),
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^ field `Server::WaitingForNewKeys::0` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `ServerWaitingForNewKeys` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/pkg/server.rs:64:1
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub(crate) struct ServerWaitingForNewKeys {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ServerReady` is more private than the item `Server::Ready::0`
[INFO] [stdout]   --> src/pkg/server.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 |     Ready(ServerReady),
[INFO] [stdout]    |           ^^^^^^^^^^^ field `Server::Ready::0` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `ServerReady` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> src/pkg/server.rs:76:1
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub(crate) struct ServerReady {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `generate_exchange_value` is never used
[INFO] [stdout]   --> src/kex/dh.rs:77:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl<D: Digest> DiffieHellman<D> {
[INFO] [stdout]    | -------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 77 |     fn generate_exchange_value(&self) -> Result<BigUint> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_padding_increment` is never used
[INFO] [stdout]    --> src/crypto.rs:203:8
[INFO] [stdout]     |
[INFO] [stdout] 196 | impl BinaryPacketDecoder {
[INFO] [stdout]     | ------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 203 |     fn get_padding_increment(&self) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `stream` is never read
[INFO] [stdout]  --> src/network_driver.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct NetworkDriver {
[INFO] [stdout]   |            ------------- field in this struct
[INFO] [stdout] 5 |     stream: TcpStream
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `client_kexinit` and `server_kexinit` are never read
[INFO] [stdout]   --> src/pkg/client.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub(crate) struct ClientWaitingForKexReply {
[INFO] [stdout]    |                   ------------------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 44 |     client_kexinit: KexInit,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 45 |     server_kexinit: KexInit,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `session_id` is never read
[INFO] [stdout]   --> src/pkg/client.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub(crate) struct ClientReady {
[INFO] [stdout]    |                   ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 66 |     session_id: Vec<u8>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `client_kexinit` and `server_kexinit` are never read
[INFO] [stdout]   --> src/pkg/server.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub(crate) struct ServerWaitingForKexDhInit {
[INFO] [stdout]    |                   ------------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 56 |     client_kexinit: KexInit,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 57 |     server_kexinit: KexInit,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `encoder` is never read
[INFO] [stdout]   --> src/pkg/server.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub(crate) struct ServerWaitingForNewKeys {
[INFO] [stdout]    |                   ----------------------- field in this struct
[INFO] [stdout] 65 |     encoder: BinaryPacketEncoder,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `session_id` is never read
[INFO] [stdout]   --> src/pkg/server.rs:81:5
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub(crate) struct ServerReady {
[INFO] [stdout]    |                   ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 81 |     session_id: Vec<u8>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `validate_path` is never used
[INFO] [stdout]   --> src/bin/server.rs:96:8
[INFO] [stdout]    |
[INFO] [stdout] 95 | impl ServerCli {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 96 |     fn validate_path(path: &str) -> Result<String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `validate_path` is never used
[INFO] [stdout]   --> src/bin/server.rs:96:8
[INFO] [stdout]    |
[INFO] [stdout] 95 | impl ServerCli {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 96 |     fn validate_path(path: &str) -> Result<String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 9.62s
[INFO] running `Command { std: "docker" "inspect" "f728a33cdb2b05a0c84d5fc5710b9f369a1b30bdf5239fb4badbf00946d65cd0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f728a33cdb2b05a0c84d5fc5710b9f369a1b30bdf5239fb4badbf00946d65cd0", kill_on_drop: false }`
[INFO] [stdout] f728a33cdb2b05a0c84d5fc5710b9f369a1b30bdf5239fb4badbf00946d65cd0
